from concurrent.futures import ThreadPoolExecutor
import time


def task(i):
    print(f'子线程--执行函数fun{i}')
    time.sleep(3)


if __name__ == '__main__':
    t1 = time.time()
    pool = ThreadPoolExecutor(max_workers=4)
    task1 = pool.submit(task, 1)
    task2 = pool.submit(task, 2)
    task1.result()
    task2.result()
    print('主线程')
    t2 = time.time()
    print('cost:', t2 - t1)
"""
结果：
1.一个任务花费大概3秒
2.执行两个任务，当设置两个线程时，花费的时
间仍然为3秒左右，而不是6秒。
--->
在执行多个IO密集型任务时，利用多线程可以提高执行效率
"""